<?php

/**
 * Criado em 22/07/2008.
 *
 * Arquivo de configuracao da aplicacao
 *
 * @author Pedro Schneider (correaschneider@gmail.com)
 * @version 0.1.0
 */
/**
 * ========================================================================================================================================
 * 												Define��ES PADR�ES
 * ========================================================================================================================================
 */
/**
 * Define a constante de desenvolvimento para receber todas as Querys que est�o sendo executadas.
 */
define('DEBUGAR_BANCO',FALSE);

/**
 * Define o modo de Debug
 * 
 * 0 = FALSE
 * 1 = E_ALL
 * 2 = E_ALL & ~E_NOTICE
 * 3 = E_ALL & ~E_NOTICE & ~E_WARNING
 * 4 = E_ALL & ~E_WARNING
 */
define('DEBUGAR',3);

/**
 * Definecao Dinamica da Constante do caminho das classes
 *
 * @name CAMINHO_CLASSE
 *
 * @author Pedro Schneider (correaschneider@gmail.com)
 */

if (is_dir("classe"))
{
	define("CAMINHO_CLASSE","classe/");
}
else if(is_dir("../classe"))
{
	define("CAMINHO_CLASSE","../classe/");
}
else if(is_dir("../../classe"))
{
	define("CAMINHO_CLASSE","../../classe/");
}
else if(is_dir("../../../classe"))
{
	define("CAMINHO_CLASSE","../../../classe/");
}
else if(is_dir("../../../../classe"))
{
	define("CAMINHO_CLASSE","../../../../classe/");
}


/**
 * Define o caminho da raiz do site
 *
 * @name CAMINHO_SITE
 *
 * @author Pedro Schneider (correaschneider@gmail.com)
 */

if (is_dir("classe"))
{
	define("CAMINHO_SITE","");
}
else if(is_dir("../classe"))
{
	define("CAMINHO_SITE","../");
}
else if(is_dir("../../classe"))
{
	define("CAMINHO_SITE","../../");
}
else if(is_dir("../../../classe"))
{
	define("CAMINHO_SITE","../../../");
}
else if(is_dir("../../../../classe"))
{
	define("CAMINHO_SITE","../../../../");
}

/**
 * CONSTANTES PARA TIPOGRAFIA
 */

define("BR","\r\n");
define("T","\t");
define("CRLF", chr(10));

/**
 * Controle de idiomas da aplica��o
 */
define('IDIOMA_SIGLA_PORTUGUES','PT');
define('IDIOMA_SIGLA_INGLES','EN');
define('IDIOMA_SIGLA_ESPANHOL','ES');
define('IDIOMA_SIGLA_PADRAO',IDIOMA_SIGLA_PORTUGUES);
define('IDIOMA_PT_ID',1);
define('IDIOMA_EN_ID',2);
define('IDIOMA_ES_ID',3);
define('IDIOMA_PADRAO_ID',IDIOMA_PT_ID);

/**
 * Define o caminho da pasta "arquivo"
 *
 * @name CONTATO_ASSUNTO;
 */
define('CAMINHO_ARQUIVO', CAMINHO_SITE . 'arquivo/');

/**
 * Define o caminho da pasta "arquivo"
 *
 * @name CONTATO_ASSUNTO;
 */
define('PASTA_MINIATURA', 'miniatura/');

/**
 * Define o titulo do site, sufixo para o titulo do gerenciador
 *
 * @name PREFIXO_TABELA;
 */
define('PREFIXO_TABELA','');

/**
 * Define a tabela que armazena os usuarios do sistema
 *
 * @name TABELA_USUARIOS
 */
define('TABELA_USUARIOS',PREFIXO_TABELA . 'usuario');

/**
 * Define a tabela que contem a relacao de areas acessiveis no gerenciador
 *
 * @name TABELA_AREAS;
 */
define('TABELA_AREAS',PREFIXO_TABELA . 'dmarea');

/**
 * Define a tabela que contem a relacao entre areas e usuarios
 *
 * @name TABELA_USUARIO_AREA;
 */
define('TABELA_USUARIO_AREA',PREFIXO_TABELA . 'usuarioarea');

/**
 * Define a tabela que contem a relacao de idiomas
 *
 * @name TABELA_IDIOMA;
 */
define('TABELA_IDIOMA',PREFIXO_TABELA . 'dmidioma');

/**
 * Define a pasta que armazena o gerenciador
 *
 * @name PASTA_GERENCIADOR
 */
define('PASTA_GERENCIADOR','gerenciador/');

/**
 * Define se o ambiente � produ��o
 */
define("PRODUCAO", 0);

/**
 * ID do Pais Brasil
 */
define('CONSTANTE_PAIS_BRASIL_ID',1); // Aparece no JS

/**
 * Constantes do Status Ativo e Inativo
 */
define('ATIVO',1);
define('INATIVO',0);

/**
 * Constantes de tipo de redimensionamento no framework
 */
define('REDIMENSIONAMENTO_CAIXA',1);
define('REDIMENSIONAMENTO_PADRAO',2);
define('REDIMENSIONAMENTO_CORTAR',3);

/**
 * Define se haver� rotina de c�digo captcha no gerenciador
 */
define('CAPTCHA_GERENCIADOR',FALSE);

/**
 * Constantes utilizadas para controle do rewrite
 */
define('PAGINA_NAO_ENCONTRADA', 'pagina-nao-encontrada');
define('PAGINA_DE_ERRO', 'pagina-de-erro');

/**
 * Define o numero de registros por paginas que ser� exibido no gerenciador
 */
define('NUMERO_REGISTROS_POR_PAGINA_GERENCIADOR',25);


/**
 * ====================================================================
 * 				PR�-INCLUSAO DE ARQUIVOS
 * ====================================================================
 */
include(CAMINHO_SITE . 'classe/Util/Funcao.php');
include(CAMINHO_SITE . 'classe/Util/Conexao.php');

/**
 * Retorna o idioma conforma URL
 */
$Idioma = RetornarIdioma();

if(is_file(CAMINHO_SITE . 'classe/Util/Glossario' . $Idioma->Sigla . '.php'))
{
	include(CAMINHO_SITE . 'classe/Util/Glossario' . $Idioma->Sigla . '.php');
}
else
{
	include(CAMINHO_SITE . 'classe/Util/Glossario' . IDIOMA_SIGLA_PADRAO . '.php');
}
if(is_file(CAMINHO_SITE . 'classe/Util/Constante' . $Idioma->Sigla . '.php'))
{
	include(CAMINHO_SITE . 'classe/Util/Constante' . $Idioma->Sigla . '.php');	
}
else
{
	include(CAMINHO_SITE . 'classe/Util/Constante' . IDIOMA_SIGLA_PADRAO . '.php');
}


/**
 * ========================================================================================================================================
 * 												DADOS DO PROJETO
 * ========================================================================================================================================
 */
/**
 * Define o servidor do banco de dados da aplicacao
 *
 * @name SERVIDOR
 */
define("SERVIDOR","localhost");

/**
 * Define o usu�rio do banco de dados da aplicacao
 *
 * @name USUARIO
 */
define("USUARIO","root");

/**
 * Define o senha do banco de dados da aplicacao
 *
 * @name SENHA
 */
define("SENHA","");

/**
 * Define o banco utilizado na aplicacao
 *
 * @name BANCO
 */
define("BANCO","bilhetech");

/**
 * Define o tipo de banco de dados da aplicacao
 *
 * @name TIPO_BANCO
 */
define("TIPO_BANCO","mysql");



/**
 * Define o titulo do site, sufixo para o titulo do gerenciador
 *
 * @name TITULO_SITE;
 */
define('TITULO_SITE','Bilhetech');

/**
 * Define o titulo do gerenciador
 *
 * @name TITULO_GERENCIADOR;
 */
define('TITULO_GERENCIADOR','Gerenciador ' . TITULO_SITE);

/**
 * Define o email que sera o remetente de todos os emails enviados pelo site e/ou gerenciador
 *
 * @name EMAIL_ADMIN;
 */
define('EMAIL_ADMIN','teste@localhost.com');
/**
 * Define o caminho para o gerenciador;
 *
 * @name CAMINHO_BASE
 */
define('CAMINHO_BASE','/Bilhetec/Solucao/');
/**
 * Define o caminho para o gerenciador;
 *
 * @name CAMINHO_ABSOLUTO
 */
define('CAMINHO_ABSOLUTO',(isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'] == 'on') ? 'https' : 'http').'://'.$_SERVER['HTTP_HOST'] . CAMINHO_BASE);

/**
 * Define o caminho absoluto com o idioma
 * 
 * @name CAMINHO_ABSOLUTO_IDIOMA
 */
define('CAMINHO_ABSOLUTO_IDIOMA',CAMINHO_ABSOLUTO . $Idioma->URL);

/**
 * Define o caminho para o gerenciador;
 *
 * @name CAMINHO_GERENCIADOR_ABSOLUTO
 */
define('CAMINHO_GERENCIADOR_ABSOLUTO',CAMINHO_ABSOLUTO . PASTA_GERENCIADOR);


/**
 * ===================================================
 * 		COME�O DAS CONSTANTES e VARIAVEIS DO PROJETO
 * ===================================================
 */ 


/**
 * EF - Manter Produtos
 * @example
 * define('PASTA_PRODUTO',CAMINHO_ARQUIVO . 'produto/');
 * define('PASTA_PRODUTO_MINIATURA',PASTA_PRODUTO . PASTA_MINIATURA);
 * define('CAMINHO_IMAGEM_PRODUTO',CAMINHO_ABSOLUTO . PASTA_PRODUTO);
 * define('CAMINHO_IMAGEM_PRODUTO_MINIATURA',CAMINHO_IMAGEM_PRODUTO . PASTA_PRODUTO_MINIATURA);
 * define('IMAGEM_PRODUTO_LARGURA_G', 640);
 * define('IMAGEM_PRODUTO_ALTURA_G', 480);
 * define('IMAGEM_PRODUTO_LARGURA_P', 320);
 * define('IMAGEM_PRODUTO_ALTURA_P', 240);
 * define('IMAGEM_PRODUTO_TIPO_G', REDIMENSIONAMENTO_CAIXA);
 * define('IMAGEM_PRODUTO_TIPO_P', REDIMENSIONAMENTO_PADRAO);
 * define('NUMERO_REGISTROS_POR_PAGINA_PRODUTO', 5);
 * define('PRODUTO_LABEL_ID', 1);
 */

define('CONSTANTE_TIPO_ENTREGA_ID_EM_MAO',3);

/**
 * Evento
 * */
define('PASTA_EVENTO', CAMINHO_ARQUIVO . 'evento/');
define('IMAGEM_EVENTO_LARGURA_G', 804);
define('IMAGEM_EVENTO_ALTURA_G', 175);
define('IMAGEM_EVENTO_TIPO_G', REDIMENSIONAMENTO_PADRAO);

define("EMAIL_CONTATO", "paulobruxel@gmail.com");
define("EMAIL_ASSUNTO", "Contato realizado pelo Site");

/**
 * ===================================================
 * 		FIM DAS CONSTANTES e VARIAVEIS DO PROJETO
 * ===================================================
 */ 

/**
 * Cole��o de Array para Sexo
 */
$colecaoSexo ['M'] = 'Masculino';
$colecaoSexo ['F'] = 'Feminino';
$colecaoSexo ['A'] = 'Ambos';

switch ( DEBUGAR )
{
	case 0:
		error_reporting( FALSE );
		break;
		
	case 1:
		error_reporting( E_ALL );
		break;
		
	case 2:
		error_reporting( E_ALL & ~E_NOTICE );
		break;
		
	case 3:
		error_reporting( E_ALL & ~E_NOTICE & ~E_WARNING );
		break;
	
	case 4:
		error_reporting( E_ALL & ~E_WARNING );
		break;
}
session_name(strtoupper(LimparString(TITULO_SITE)) . (preg_match("/(gerenciador|captcha)/i",$_SERVER['REQUEST_URI']) ? "GERENCIADOR" : ""));
session_start();
header("Content-type: text/html; charset=iso-8859-1", TRUE);
?>